package com.example.demo.parse;


import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;

import java.text.SimpleDateFormat;

/**
 * @author shiwen
 * @date 2020/7/15
 */
public class ParseJwt {

    public static void main(String[] args) {
        // 获取token
        Claims claims = Jwts.parser()
                .setSigningKey("itcast")        // 严
                .parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIyNSIsInN1YiI6IuS4luaWhyIsImlhdCI6MTU5NTI5NzE3Mywicm9sZXMiOiJhZG1pbnMiLCJleHAiOjE1OTUzMDA3NzN9.Wh5HNk5GTf5HC2K0MWhT87I8mV15UqGD75BmAVtDdHk")        // 签名
                .getBody();
        // 获取设置的id
        System.out.println("用户id：" + claims.getId());
        // 获取设置保存的内容
        System.out.println("用户名：" + claims.getSubject());
        // 获取登录时间，转换为SimpleDateFormat的格式
        System.out.println("登录时间：" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(claims.getIssuedAt()));
        // 获取过期时间
        System.out.println("有效时间：" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(claims.getExpiration()));
        // 获取自定义的数据内容，这里可以获取value
        System.out.println("角色：" + claims.get("roles"));
    }

}